/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package services;

import entidades.Administrador;
import entidades.Cliente;
import entidades.Proveedor;
import entidades.Servicio;
import entidades.Usuario;
import fachada.Fachada;
import fachada.FachadaLocal;
import java.util.List;
import javax.ejb.EJB;
import javax.jws.WebService;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author SergioAlberto
 */
@WebService(serviceName = "TeLoReparoAdminWS")
@Stateless()
public class TeLoReparoAdminWS {

    @EJB
    private FachadaLocal fachada;

    @WebMethod(operationName = "crearUsuario")
    public String crearUsuario(@WebParam(name = "usuario") Usuario usuario) {
        fachada = new Fachada();
        String resp = fachada.crearUsuario(usuario);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "crearProveedor")
    public String crearProveedor(@WebParam(name = "proveedor") Proveedor proveedor) {
        fachada = new Fachada();
        String resp = fachada.crearProveedor(proveedor);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "crearAdministrador")
    public String crearAdministrador(@WebParam(name = "administrador") Administrador administrador) {
        fachada = new Fachada();
        String resp = fachada.crearAdministrador(administrador);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "crearCliente")
    public String crearCliente(@WebParam(name = "cliente") Cliente cliente) {
        fachada = new Fachada();
        String resp = fachada.crearCliente(cliente);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "actualizaUsuario")
    public String actualizaUsuario(@WebParam(name = "usuario") Usuario usuario) {
        fachada = new Fachada();
        String resp = fachada.actualizaUsuario(usuario);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "actualizaProveedor")
    public String actualizaProveedor(@WebParam(name = "proveedor") Proveedor proveedor) {
        fachada = new Fachada();
        String resp = fachada.actualizaProveedor(proveedor);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "actualizaAdministrador")
    public String actualizaAdministrador(@WebParam(name = "administrador") Administrador administrador) {
        fachada = new Fachada();
        String resp = fachada.actualizaAdministrador(administrador);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "actualizaCliente")
    public String actualizaCliente(@WebParam(name = "cliente") Cliente cliente) {
        fachada = new Fachada();
        String resp = fachada.actualizaCliente(cliente);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "borrarUsuario")
    public String borrarUsuario(@WebParam(name = "usuario") Usuario usuario) {
        fachada = new Fachada();
        String resp = fachada.borrarUsuario(usuario);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "borrarProveedor")
    public String borrarProveedor(@WebParam(name = "proveedor") Proveedor proveedor) {
        fachada = new Fachada();
        String resp = fachada.borrarProveedor(proveedor);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "borrarAdministrador")
    public String borrarAdministrador(@WebParam(name = "administrador") Administrador administrador) {
        fachada = new Fachada();
        String resp = fachada.borrarAdministrador(administrador);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "borrarCliente")
    public String borrarCliente(@WebParam(name = "cliente") Cliente cliente) {
        fachada = new Fachada();
        String resp = fachada.borrarCliente(cliente);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "buscarUsuario")
    public Usuario buscarUsuario(@WebParam(name = "usuario") Usuario usuario) {
        fachada = new Fachada();
        Usuario resp = fachada.buscarUsuario(usuario);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "buscarProveedor")
    public Proveedor buscarProveedor(@WebParam(name = "proveedor") Proveedor proveedor) {
        fachada = new Fachada();
        Proveedor resp = fachada.buscarProveedor(proveedor);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "buscarAdministrador")
    public Administrador buscarAdministrador(@WebParam(name = "administador") Administrador administador) {
        fachada = new Fachada();
        Administrador resp = fachada.buscarAdministrador(administador);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "buscarCliente")
    public Cliente buscarCliente(@WebParam(name = "cliente") Cliente cliente) {
        fachada = new Fachada();
        Cliente resp = fachada.buscarCliente(cliente);
        fachada = null;
        return resp;
    }

    @WebMethod(operationName = "listarUsuarios")
    public List<Usuario> listarUsuarios() {
        fachada = new Fachada();
        List<Usuario> lista = fachada.listarUsuarios();
        fachada = null;
        return lista;
    }

    @WebMethod(operationName = "listarProveedores")
    public List<Proveedor> listarProveedores() {
        fachada = new Fachada();
        List<Proveedor> lista = fachada.listarProveedores();
        fachada = null;
        return lista;
    }

    @WebMethod(operationName = "listarAdministradores")
    public List<Administrador> listarAdministradores() {
        fachada = new Fachada();
        List<Administrador> lista = fachada.listarAdministradores();
        return lista;
    }

    @WebMethod(operationName = "listarClientes")
    public List<Cliente> listarClientes() {
        fachada = new Fachada();
        List<Cliente> lista = fachada.listarClientes();
        fachada = null;
        return lista;
    }

    /**
     * Web service operation
     */
    @WebMethod(operationName = "listaServicios")
    public List<Servicio> listaServicios() {
        fachada = new Fachada();
        List<Servicio> lista = fachada.listarServicios();
        fachada = null;
        return lista;
    }    
}
